package com.mockapi.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.time.LocalDateTime;

/**
 * API日志实体
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("api_log")
public class ApiLog {

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 路由ID
     */
    @TableField("route_id")
    private Long routeId;

    /**
     * 请求路径
     */
    @TableField("request_path")
    private String requestPath;

    /**
     * 请求方法
     */
    @TableField("request_method")
    private String requestMethod;

    /**
     * 请求头
     */
    @TableField("request_headers")
    private String requestHeaders;

    /**
     * 请求参数
     */
    @TableField("request_params")
    private String requestParams;

    /**
     * 请求体
     */
    @TableField("request_body")
    private String requestBody;

    /**
     * 响应状态码
     */
    @TableField("response_status")
    private Integer responseStatus;

    /**
     * 响应头
     */
    @TableField("response_headers")
    private String responseHeaders;

    /**
     * 响应体
     */
    @TableField("response_body")
    private String responseBody;

    /**
     * 响应时间
     */
    @TableField("response_time_ms")
    private Integer responseTimeMs;

    /**
     * 客户端IP
     */
    @TableField("ip_address")
    private String ipAddress;

    /**
     * 用户代理
     */
    @TableField("user_agent")
    private String userAgent;

    /**
     * 创建时间
     */
    @TableField(value = "created_at", fill = FieldFill.INSERT)
    private LocalDateTime createdAt;
} 